
/** 全局控制器 */
import { makeAutoObservable } from 'mobx';

export class Controller {

    private static _instance = new Controller();

    static get instance() {
        return this._instance;
    }

    /** 登录标识 */
    token = sessionStorage.getItem('$$/token');

    /** 当前前端的公司标识 */
    company = sessionStorage.getItem('$$/company-id');

    /** 用户信息 */
    userInfo = parse(sessionStorage.getItem('$$/user-info'));

    constructor() {
        makeAutoObservable(this);
    }
}

/** 解析字符串 */
function parse(text: string | null): any {
    if (!text) return undefined
    try {
        return JSON.parse(text)
    } catch (error) {
        console.error(error)
        return undefined
    }
}